

class ExtraInfo{
    
    constructor(guid){
        this.__guid = guid
        this.__wrapper = null
        this.__name = null
        this.__mount = null
        this.__point = null
        this.__destory = function(){}
    }
    destory(){
        this.__destory()
        return this
    }
    registerDestoryListener(destory, bind_obj){
        this.__destory = destory
        this.__destory.bind(bind_obj)
        return this
    }
    setName(name){
        this.__name = name
        return this
    }
    setMount(mount){
        this.__mount = mount
        return this
    }
    setPoint(point){
        this.__point = point
        return this
    }
    setWrapper(Wrapper){
        this.__wrapper = Wrapper
        return this
    }
    getWrapper(){
        return this.__wrapper
    }
    getMount(){
        return this.__mount || null
    }
    getPoint(){
        return this.__point || null
    }
    getName(){
        return this.__name
    }
    isRoot(){
        return null === this.getMount()
    }
}

module.exports = ExtraInfo